home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / PointingPlugin.p < prev    next >
Text File  |  1996-05-01  |  3KB  |  106 lines

  1. {
  2.      File:        PointingPlugin.p
  3.  
  4.      Contains:    Interface for Pointer Family Plugins
  5.  
  6.      Version:    Technology:    Copland
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT PointingPlugin;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __POINTINGPLUGIN__}
  28. {$SETC __POINTINGPLUGIN__ := 1}
  29.  
  30. {$I+}
  31. {$SETC PointingPluginIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __NAMEREGISTRY__}
  35. {$I NameRegistry.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __POINTING__}
  38. {$I Pointing.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __TYPES__}
  41. {$I Types.p}
  42. {$ENDC}
  43.  
  44. {$PUSH}
  45. {$ALIGN MAC68K}
  46. {$LibExport+}
  47.  
  48. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  49. { *************** Calls Implemented By Plugins *************** }
  50.  
  51. TYPE
  52.     PTPluginValidateHardwarePtr = ProcPtr;  { FUNCTION PTPluginValidateHardwarePtr(VAR device: RegEntryRef; VAR isMyDevice: BOOLEAN): OSStatus; C; }
  53.  
  54.     PTPluginInitializePtr = ProcPtr;  { FUNCTION PTPluginInitializePtr(VAR mouseRegistryEntryPtr: RegEntryRef; VAR mouseCapabilities: PTDeviceCapabilities; VAR mouseIdentification: PTDeviceIdentifier): OSStatus; C; }
  55.  
  56.     PTPluginTerminatePtr = ProcPtr;  { FUNCTION PTPluginTerminatePtr: OSStatus; C; }
  57.  
  58.     PTPluginStartIOPtr = ProcPtr;  { FUNCTION PTPluginStartIOPtr: OSStatus; C; }
  59.  
  60.     PTPluginStopIOPtr = ProcPtr;  { FUNCTION PTPluginStopIOPtr: OSStatus; C; }
  61.  
  62.     PTPluginGetNextDataPtr = ProcPtr;  { FUNCTION PTPluginGetNextDataPtr(VAR theMouseData: PTData): OSStatus; C; }
  63.  
  64.     PTPluginGetDeviceModesPtr = ProcPtr;  { FUNCTION PTPluginGetDeviceModesPtr(offset: ByteCount; numBytes: ByteCount; VAR modes: PTDeviceModes): OSStatus; C; }
  65.  
  66.     PTPluginSetDeviceModesPtr = ProcPtr;  { FUNCTION PTPluginSetDeviceModesPtr(offset: ByteCount; numBytes: ByteCount; VAR modes: PTDeviceModes): OSStatus; C; }
  67.  
  68.  
  69. CONST
  70.     kCoplandPTPluginVersion        = $00000001;
  71.  
  72.  
  73. TYPE
  74.     PTPluginHeaderPtr = ^PTPluginHeader;
  75.     PTPluginHeader = RECORD
  76.         version:                UInt32;                                    {  version of the plugin interface }
  77.         reserved1:                UInt32;
  78.         reserved2:                UInt32;
  79.         reserved3:                UInt32;
  80.     END;
  81.  
  82.     PTDeviceDispatchTablePtr = ^PTDeviceDispatchTable;
  83.     PTDeviceDispatchTable = RECORD
  84.         header:                    PTPluginHeader;
  85.         PTPluginValidateHardware: PTPluginValidateHardwarePtr;
  86.         PTPluginInitialize:        PTPluginInitializePtr;
  87.         PTPluginTerminate:        PTPluginTerminatePtr;
  88.         PTPluginStartIO:        PTPluginStartIOPtr;
  89.         PTPluginStopIO:            PTPluginStopIOPtr;
  90.         PTPluginGetNextData:    PTPluginGetNextDataPtr;
  91.         PTPluginGetDeviceModes:    PTPluginGetDeviceModesPtr;
  92.         PTPluginSetDeviceModes:    PTPluginSetDeviceModesPtr;
  93.     END;
  94.  
  95. {$ENDC}
  96. {$ALIGN RESET}
  97. {$POP}
  98.  
  99. {$SETC UsingIncludes := PointingPluginIncludes}
  100.  
  101. {$ENDC} {__POINTINGPLUGIN__}
  102.  
  103. {$IFC NOT UsingIncludes}
  104.  END.
  105. {$ENDC}
  106.